package com.zbkj.front.service;

import com.zbkj.common.model.user.User;
import com.zbkj.common.request.ChangePwdRequest;
import com.zbkj.common.request.SendSmsCodeRequest;
import com.zbkj.common.request.SmsCodeCheckRequest;
import com.zbkj.common.request.user.*;
import com.zbkj.common.response.user.ClientUserInvoiceResponse;
import com.zbkj.common.response.user.ClientUserLoginResponse;
import com.zbkj.common.vo.MyRecord;

import javax.servlet.http.HttpServletRequest;

/**
 * @Auther:
 * @Date: 2024/7/5 15:13
 * @Description:
 */
public interface UserHandleService {
    ClientUserLoginResponse userLogin(ClientUserLoginRequest loginRequest);
    ClientUserLoginResponse userSmsCodeLogin(ClientUserSmscodeLoginRequest loginRequest);

    void changePwd(ChangePwdRequest pwdRequest);

    void endSmsCode(SendSmsCodeRequest sendSmsCodeRequest);

    void smsCodeCheck(SmsCodeCheckRequest checkRequest);

    void userRegiste(ClientUserRequest clientUserRequest);

    void forgetPwdSave(UserForgetPwdRequest pwdRequest);

    ClientUserLoginResponse getUser(HttpServletRequest request);

    ClientUserInvoiceResponse getUserInvoice();

    void userInvoiceSave(ClientUserInvoiceRequest invoiceRequest);

    void userAuthVerifyOpt(UserAuthVerifyRequest authVerifyRequest);

    void userInfoModify(ClientUserModifyRequest userModifyRequest);

    void feedbackSave(ClientFeedbackSaveRequest feedbackSaveRequest);

    String userLoginByName(String account);

    void userRegisteByAccountPwd(ClientUserRegionRequest clientUserRegionRequest);
}
